package com.ylbh.common.pojo.goods.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author czx
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Api("上传商品入参类")
@TableName("shopping_goods")
public class GoodsDTO {
    @TableId(type = IdType.AUTO)
    private Long id;

    @TableField("addTime")
    private Date addTime;

    @TableField("deleteStatus")
    private Integer deleteStatus;

    private Integer goodsStatus;

    private Integer gcId;

    @TableField("is_best")
    private Integer isBest;

    @TableField("is_new")
    private Integer isNew;

    private String goodsDetails;

    private String priceType;

    private String goodsName;

    private Integer goodsInventory;

    private String goodsInventoryDetail;

    private String seoKeywords;

    private String seoDescription;

    private Integer warnNumber;

    @TableField("goods_transfee")
    private Integer goodsTransfee;

    private BigDecimal goodsPrice;

    @TableField("vipPrice")
    private BigDecimal vipPrice;

    @TableField("goods_salenum")
    private Integer goodsSaleNum;

    private String goodsSerial;

    @TableField("express_trans_fee")
    private BigDecimal expressTransFee;

    private String goodsBrief;

    private Integer integral;

    private Integer sortOrder;

    private Long goodsMainPhotoId;

    private String goodsDetailsUrl;

    @TableField("goodsCostingPrice")
    private BigDecimal goodsCostingPrice;

    private Integer goodsManagerId;

    @TableField(exist = false)
    private List<GoodsImgDTO> mainImg;

    @TableField(exist = false)
    private List<GoodsImgDTO> rollingImg;

    @TableField(exist = false)
    private Long[] deleteRollingImgId;

    @TableField(exist = false)
    private Long deleteMainImgId;

    @TableField(exist = false)
    private Integer checkBoxChangeFlag;

    private String newDetailsUrl;

    private Integer isOnSale;

    private BigDecimal combinPrice;

    private Integer goodsStoreId;

    private String inventoryType;

    private String goodsProperty;

    private BigDecimal goodsCurrentPrice;

    private BigDecimal storePrice;

    @TableField(exist = false)
    private String mainImgUrl;

    private Integer goodsClick;

    private Integer goodsCollect;

    private Integer combinStatus;

    private Integer isPromote;

    /**
     * 赠送积分
     */
    private Integer giveIntegral;
    /**
     * 进价
     */
    private BigDecimal buyerPrice;
    /**
     * 赠送积分比例
     */
    private Integer giveIntegralType;

    private String goodsServerId;

    @TableField("goods_brand_id")
    private String goodsBrandId;

    private Integer overseasGoods;

    private Integer supplyChainType;

    private Integer tradeType;

    private String noDeliveryArea;

    private String goodsSn;

    private Integer freightId;

    private Integer transportId;
}
